function getParamType(any) {
    return any == null ? 
    String(any) : Object.prototype.toString.call(any).replace(/\[object\s+(\w+)\]/i, '$1') || 'Object';
}
function isIncludes(val, typeArray = []) {
    return typeArray.includes(getParamType(val));
}

function isBool(any) {
    return getParamType(any) === 'Boolean';
}
function isString(any) {
    return getParamType(any) === 'String';
}
function isNumber(any) {
    return getParamType(any) === 'Number';
}
function isArray(any) {
    return getParamType(any) === 'Array';
}
function isObject(any) {
    return getParamType(any) === 'Object';
}
function isFunction(any) {
    return getParamType(any) === 'Function';
}

export {
    getParamType,
    isIncludes,
    isBool,
    isString,
    isNumber,
    isArray,
    isObject,
    isFunction
};
